Market Transaction API endpoints

This section discusses parameters for each Market Transaction API endpoint, expected response, and sample request and response payloads, and transaction types.

  • GET/api/settlement/market/transactions - Get market transaction list from db for the filter criteria.GET/api/settlement/market/transactions

    Note: A list of Transaction Type IDs can be obtained from the 'MarketTransactionType' table.

    Tip: Direction mappings are as follows: 0 = All, 1 = Receive, and 2 = Sent.

    Response:

    {

    "transactions": [

    {

    "transactionKey": "cb565c4b-de75-4e96-8693-9c17d617e322",

    "mpan": "SP_UK_ADS_SP2",

    "transactionType": {

    "transactionTypeId": "IF-028",

    "transactionTypeDesc": "Supplier consumption amendment request response",

    "transactionGroup": {

    "transactionGroupId": "Group 2",

    "transactionGroupName": "Data Integration Platform (DIP)"

    },

    "isActive": false

    },

    "direction": 2,

    "receivedSentDate": "7/16/2024 3:29:09 PM",

    "assignedTo": "itronee",

    "activityStatus": 1,

    "lastUpdateDate": "7/16/2024 3:29:09 PM",

    "senderDipId": "1009012345",

    "senderUniqueReference": "S-020-4529822624-REGS-20240306-61NF",

    "transactionId": "S-020-4529822624-REGS-20240306-61NF",

    "transactionCorrelationId": "85ECEF7D-BE5F-40A4-AFC7-4C500E96C1D2",

    "internalFileName": "Test2",

    "externalFileName": "ExternalFileName2",

    "assignedToUserKey": "1795134d-ea41-4086-aedd-6d4781d9602d"

    }

    ],

    "totalCount": 1,

    "responseMessageID": "200",

    "responseMessage": "IEE.Settlements - GetTransactions succeeded.",

    "correlationID": ""

    }

  • Error scenarios:

    • SC 1: When start date is after end date

      Response:

      "responseMessageID": "500",

      "responseMessage": "The end time must be before the start time",

    • SC 2: When transaction Type ID is invalid

      Response:

      "responseMessageID": "400",

      "responseMessage": "Specified transactionTypeId - IF is not valid",

    • SC 3: When all required parameters are not passed in the request

      Response:

      "status": 400,

      "errors": {

      "endDate": [

      "The endDate field is required."

      ],

      "direction": [

      "The direction field is required."

      ],

      "startDate": [

      "The startDate field is required."

      ]

      }

  • GET/api/settlement/market/transactions/types - Gets market transaction types from database.

    GET/api/settlement/market/transactions/types

    Response:

    {

    "transactionTypes": [

    {

    "transactionTypeId": "D0001",

    "transactionTypeDesc": "Request metering system investigation",

    "transactionGroup": {

    "transactionGroupId": "Group 1",

    "transactionGroupName": "Data Transfer Network (DTN)"

    },

    "isActive": false,

    "direction": 2

    },

    {

    "transactionTypeId": "D0002",

    "transactionTypeDesc": "Fault resolution report or request for decision on further action",

    "transactionGroup": {

    "transactionGroupId": "Group 1",

    "transactionGroupName": "Data Transfer Network (DTN)"

    },

    "isActive": false,

    "direction": 2

    },

    {

    "transactionTypeId": "D0004",

    "transactionTypeDesc": "Notification of failure to obtain reading",

    "transactionGroup": {

    "transactionGroupId": "Group 1",

    "transactionGroupName": "Data Transfer Network (DTN)"

    },

    "isActive": false,

    "direction": 2

    },

    {

    "transactionTypeId": "D0005",

    "transactionTypeDesc": "Instruction on action",

    "transactionGroup": {

    "transactionGroupId": "Group 1",

    "transactionGroupName": "Data Transfer Network (DTN)"

    },

    "isActive": false,

    "direction": 2

    },

    {

    "transactionTypeId": "IF-015",

    "transactionTypeDesc": "Request historic consumption replay",

    "transactionGroup": {

    "transactionGroupId": "Group 2",

    "transactionGroupName": "Data Integration Platform (DIP)"

    },

    "isActive": true,

    "direction": 2

    },

    {

    "transactionTypeId": "IF-028",

    "transactionTypeDesc": "Supplier consumption amendment request response",

    "transactionGroup": {

    "transactionGroupId": "Group 2",

    "transactionGroupName": "Data Integration Platform (DIP)"

    },

    "isActive": true,

    "direction": 2

    },

    {

    "transactionTypeId": "IF-038",

    "transactionTypeDesc": "Customer direct contract advisory",

    "transactionGroup": {

    "transactionGroupId": "Group 2",

    "transactionGroupName": "Data Integration Platform (DIP)"

    },

    "isActive": true,

    "direction": 2

    },

    {

    "transactionTypeId": "PUB-013",

    "transactionTypeDesc": "Notification of defaulted UTC settlement period consumption data",

    "transactionGroup": {

    "transactionGroupId": "Group 2",

    "transactionGroupName": "Data Integration Platform (DIP)"

    },

    "isActive": true,

    "direction": 1

    },

    {

    "transactionTypeId": "PUB-014",

    "transactionTypeDesc": "UTC settlement period consumption (warnings and rejections)",

    "transactionGroup": {

    "transactionGroupId": "Group 2",

    "transactionGroupName": "Data Integration Platform (DIP)"

    },

    "isActive": true,

    "direction": 1

    },

    {

    "transactionTypeId": "PUB-016",

    "transactionTypeDesc": "UTC settlement period consumption data - REPLAY",

    "transactionGroup": {

    "transactionGroupId": "Group 2",

    "transactionGroupName": "Data Integration Platform (DIP)"

    },

    "isActive": true,

    "direction": 1

    },

    {

    "transactionTypeId": "PUB-024",

    "transactionTypeDesc": "Supplier advisory notification to data service",

    "transactionGroup": {

    "transactionGroupId": "Group 2",

    "transactionGroupName": "Data Integration Platform (DIP)"

    },

    "isActive": true,

    "direction": 1

    },

    {

    "transactionTypeId": "PUB-027",

    "transactionTypeDesc": "Supplier consumption amendment request",

    "transactionGroup": {

    "transactionGroupId": "Group 2",

    "transactionGroupName": "Data Integration Platform (DIP)"

    },

    "isActive": true,

    "direction": 1

    },

    {

    "transactionTypeId": "PUB-039",

    "transactionTypeDesc": "Customer direct contract advisory response",

    "transactionGroup": {

    "transactionGroupId": "Group 2",

    "transactionGroupName": "Data Integration Platform (DIP)"

    },

    "isActive": true,

    "direction": 1

    },

    {

    "transactionTypeId": "SV1",

    "transactionTypeDesc": "Manual meter reading request",

    "transactionGroup": {

    "transactionGroupId": "Group 3",

    "transactionGroupName": "Non-Market"

    },

    "isActive": false,

    "direction": 2

    },

    {

    "transactionTypeId": "SV2",

    "transactionTypeDesc": "Manual meter read response",

    "transactionGroup": {

    "transactionGroupId": "Group 3",

    "transactionGroupName": "Non-Market"

    },

    "isActive": false,

    "direction": 1

    },

    {

    "transactionTypeId": "SV3",

    "transactionTypeDesc": "Inspection request",

    "transactionGroup": {

    "transactionGroupId": "Group 3",

    "transactionGroupName": "Non-Market"

    },

    "isActive": false,

    "direction": 2

    },

    {

    "transactionTypeId": "SV4",

    "transactionTypeDesc": "Inspection response",

    "transactionGroup": {

    "transactionGroupId": "Group 3",

    "transactionGroupName": "Non-Market"

    },

    "isActive": false,

    "direction": 1

    }

    ],

    "correlationID": "",

    "responseMessageID": "200",

    "responseMessage": "IEE.Settlements - GetTransactionTypes succeeded."

    }

  • GET/api/settlement/market/transactions/{transactionKey} - Fetches transaction for the given transaction key.

    GET/api/settlement/market/transactions/{transactionKey}

    Note: Transaction Key can be obtained from the 'MarketTransaction' table.

    Response:

    {

    "transactionKey": "525afc80-ff56-43b5-9944-05f7ab9d5a2a",

    "transactionType": "PUB-013",

    "transactionTypeDesc": "Notification of defaulted UTC settlement period consumption data",

    "transactionGroupName": "Data Integration Platform (DIP)",

    "mpan": "SP_Cust_EZ_BGK_4",

    "direction": 1,

    "receivedSentDate": "2024-08-05T14:27:10.420Z",

    "createdDate": "2024-08-05T14:27:10.420Z",

    "senderDipId": "1009012363",

    "senderUniqueReference": "S-020-4529822624-REGS-20240306-66NF",

    "transactionId": "S-020-4529822624-REGS-20240306-66NF",

    "transactionCorrelationId": "9A029206-729E-49EE-867A-79779AF1DDAB",

    "internalFileName": "PUB-Test1",

    "externalFileName": "PUB-ExternalFileName1",

    "assignedTo": "itronee",

    "assignedToUserKey": "1795134d-ea41-4086-aedd-6d4781d9602d",

    "activityStatus": 1,

    "lastUpdateDate": "2024-08-05T14:27:10.420Z",

    "lastModifiedUser": "itronee",

    "lastModifiedUserKey": "1795134d-ea41-4086-aedd-6d4781d9602d",

    "notes": "PUB-Notes1",

    "responseMessageID": "200",

    "responseMessage": "IEE.Settlements - FindTransaction succeeded.",

    "correlationID": ""

    }

  • Error scenarios:

    • SC 1: When transaction key is invalid (When format is not as GUID)

      Response:

      "responseMessageID": "400",

      "responseMessage": "FindTransaction - invalid TransactionKey. Should be a valid Guid."

    • SC 2: When transaction key is not present in the DB (When format is same as GUID)

      Response:

      "responseMessageID": "404",

      "responseMessage": "No records found for the specified transaction key."

  • GET/api/settlement/market/transactions/{transactionKey}/details - Fetches transaction details for the given transaction key.

    GET/api/settlement/market/transactions/{transactionKey}/details

    Note: Transaction Key can be obtained from the 'MarketTransaction' table.

    Response:

    {

    "transactionKey": "525afc80-ff56-43b5-9944-05f7ab9d5a2a",

    "transactionTypeId": "PUB-013",

    "jsonPropertiesContract": "{"EventCode":"ActivePowerDefaulted","DistributorDipId":"1009012345","GspGroupId":"AE","SettlementImpactedDataServiceDipId":"4531824128","SettlementImpactedSupplierDipId":"4531824128","SettlementRunExecutionDate":"2022-09-13T07:22:52.525Z","SettlementCode":"R1 - First Reconciliation","RunNumber":"1234567","ConnectionTypeIndicator":"L - LV with CT","ConnectionTypeEffectiveFromDate":"2020-09-13T07:22:52.525Z","Readings":[{"MeasurementQuantityId":"AI - Active Import","ConsumptionComponentClassId":"120 - Segment-A; Measure-AI; Cons. Component Ind.-C; Conn.-W; Est.Methods-A, A1, A2, A3","ConsumptionComponentIndicator":"C - Consumption","SettlementDayDate":"2022-09-13T07:22:52.525Z","PeriodDuration":30,"SettlementPeriodEffectiveToDateTime":"2022-09-13T07:22:52.525Z","DefaultedSPConsumption":789.000,"DefaultLoadShapeFlag":"E - Back Stop"}]}",

    "responseMessageID": "200",

    "responseMessage": "IEE.Settlements - GetTransactionsDetail succeeded.",

    "correlationID": ""

    }

  • Error scenarios:

    • SC 1: When transaction key is invalid (When format is not as GUID)

      Response:

      "responseMessageID": "400",

      "responseMessage": "GetTransactionsDetail - invalid TransactionKey"

    • SC 2: When transaction key is not present in the DB (When format is same as GUID)

      Response:

      "responseMessageID": "404",

      "responseMessage": "No records found for the specified transaction key."

  • PUT/api/settlement/market/transactions/update - Updates AssignedTo, LastModifiedUser, ActivityStatus and Notes transaction data for the given transaction key.

    Request body:

    {

    "transactionKey": "A051CD46-BA26-4167-A257-660334E08753",

    "assignedToUserKey": "1795134D-EA41-4086-AEDD-6D4781D9602D",

    "activityStatus": 1,

    "notes": "api_automation",

    "lastModifiedUserKey": "1795134D-EA41-4086-AEDD-6D4781D9602D"

    }

    Response:

    {

    "correlationID": "",

    "responseMessageID": "200",

    "responseMessage": "IEE.Settlements Market - Update succeeded.",

    "updateStatusMessage": ""

    }

  • Error scenarios:

    • SC 1: When transaction key is invalid (When format is not as GUID)

      Response:

      "responseMessageID": "400",

      "responseMessage": "UpdateTransactionData - invalid TransactionKey. Should be a valid Guid."

    • SC 2: When transaction key is not present in the DB (When format is same as GUID)

      Response:

      "responseMessageID": "400",

      "responseMessage": "IEE.Settlements Market - Update failed."

  • GET/api/settlement/market/transactions/{transactiontypeId}/event-codes - Gets market transaction event codes based on transaction type.

    GET/api/settlement/market/transactions/{transactiontypeId}/event-codes

    Note: A list of Transaction Type IDs can be obtained from the 'MarketTransactionType' table.

    Response:

    {

    "correlationID": "",

    "eventCodes": [

    {

    "eventCodeKey": "79568f27-12c7-47ea-aef6-851437d05ec5",

    "eventCodeId": "DirectContractMSApp",

    "eventCodeDesc": "Direct Contract Metering Service App"

    },

    {

    "eventCodeKey": "85a554b3-34e6-4c86-8b44-8f3403bb41bf",

    "eventCodeId": "DirectContractDSApp",

    "eventCodeDesc": "Direct Contract Data Service App"

    },

    {

    "eventCodeKey": "f7594ab5-8fbc-4df3-842b-caad1a5cd96d",

    "eventCodeId": "DirectContractMSAppRemove",

    "eventCodeDesc": "Direct Contract Metering Service App Remove"

    },

    {

    "eventCodeKey": "17082a0e-f5ce-40ee-92e2-ed3a0b7edc5c",

    "eventCodeId": "DirectContractDSAppRemove",

    "eventCodeDesc": "Direct Contract Data Service App Remove"

    }

    ],

    "responseMessageID": "200",

    "responseMessage": "IEE.Settlements - GetEventCodes succeeded."

    }

  • Error scenario:

    • SC 1: When transaction type ID is invalid

      Response:

      "responseMessageID": "400",

      "responseMessage": "GetEventCodes - invalid TransactionTypeId. Transaction Type Id is required. Possible values - D0001,D0002,D0004,D0005,IF-015,IF-028,IF-038,PUB-013,PUB-014,PUB-016,PUB-024,PUB-027,PUB-039,SV1,SV2,SV3,SV4"

  • POST /api/settlement/market/transactions/inbound - saves the Inbound Transaction for the supported Transaction Types.

    POST /api/settlement/market/transactions/inbound

    Request body:

    {

    "transactionsList": [

    {

    "transactionType": "PUB-016",

    "transactionGroupName": "Data Integration Platform (DIP)",

    "mpan": "SP_Cust_WZ_BGK_1",

    "receivedSentDate": {

    "seconds": 0,

    "nanos": 0

    },

    "createdDate": {

    "seconds": 0,

    "nanos": 0

    },

    "senderDipId": "1009012314",

    "senderUniqueReference": "S-020-4529822624-REGS-20240306-68NF",

    "transactionId": "PUB-016",

    "transactionCorrelationId": "59C81768-1BB7-48CE-877E-0BCC3D7078D8",

    "internalFileName": "AutoTest",

    "externalFileName": "AutoTest",

    "assignedTo": "1795134D-EA41-4086-AEDD-6D4781D9602D",

    "activityStatus": 0,

    "lastUpdateDate": {

    "seconds": 0,

    "nanos": 0

    },

    "lastModifiedUser": "1795134D-EA41-4086-AEDD-6D4781D9602D",

    "notes": "Automation Creation",

    "jsonPropertiesData": "{"EventCode":"ReactivePower","DistributorDipId":"1009012345","GspGroupId":"AG","TransactionResponseCode":"W","TransactionResponseMessage":"I am facing issue","TransactionResponseCode2":"A","TransactionResponseMessage2":"I am working","IssuingDataServiceDipId":"4531824128","ConnectionTypeIndicator":"E","ConnectionTypeEffectiveFromDate":"2020-09-13T07:22:52.525Z","SettlementImpactedDataServiceDipId":"4531824128","SettlementImpactedSupplierDipId":"4531824128","SettlementRunExecutionDate":"2020-09-13T07:22:52.525Z","SettlementCode":"R2","RunNumber":"9999998","Readings":[{"MeasurementQuantityId":"RE","ConsumptionComponentClassId":"123","UTCPeriodConsumptionValue":"12.765","CosumptionComponentIndicator":"C","SettlementDayDate":"2021-09-13T07:22:52.525Z","PeriodDuration":30,"SettlementPeriodEffectiveToDateTime":"2022-09-13T07:22:52.525Z","SettlementPeriodQualityIndicator":"A3","EstimationReasonCode":"2","SupplierConsumptionAmendmentReasonCode":"M","DefaultedSPConsumption":"789.000","DefaultLoadShapeFlag":"D"}]}"

    }

    ]

    }

    Response:

    {

    "correlationID": "",

    "responseMessageID": "200",

    "responseMessage": "IEE.Settlements - SaveMarketTransactions succeeded.",

    "transactionSaveStatus": [

    {

    "transactionId": "PUB-016",

    "status": "Success"

    }

    ]

    }

  • POST /api/settlement/market/transactions/outbound - saves the outbound Transaction and then send it to external systems.

    POST /api/settlement/market/transactions/outbound

    Request body:

    {

    "transactionsList": [

    {

    "transactionType": "IF-015",

    "transactionGroupName": "Data Integration Platform (DIP)",

    "mpan": "SP_Cust_EZ_BGK_1",

    "receivedSentDate": {

    "seconds": 0,

    "nanos": 0

    },

    "createdDate": {

    "seconds": 0,

    "nanos": 0

    },

    "senderDipId": "1009012301",

    "senderUniqueReference": "S-020-4529822624-REGS-20240306-61NF",

    "transactionId": "IF-015",

    "transactionCorrelationId": "85ECEF7D-BE5F-40A4-AFC7-4C500E96C1D2",

    "internalFileName": "AutoTest",

    "externalFileName": "AutoTest",

    "assignedTo": "1795134D-EA41-4086-AEDD-6D4781D9602D",

    "activityStatus": 0,

    "lastUpdateDate": {

    "seconds": 0,

    "nanos": 0

    },

    "lastModifiedUser": "1795134D-EA41-4086-AEDD-6D4781D9602D",

    "notes": "Automation Creation",

    "jsonPropertiesData": "{"EventCode":"Consumption Amendment","GspGroupId":"AC","DistributorDipId":"1009012345"}"

    }

    ]

    }

    Response:

    {

    "correlationID": "",

    "responseMessageID": "200",

    "responseMessage": "IEE.Settlements - SaveMarketTransactions succeeded.",

    "transactionSaveStatus": [

    {

    "transactionId": "IF-015",

    "status": "Success"

    }

    ]

    }

Related topics: